package lambda;

import java.io.File;
import java.io.FileFilter;
/**
 * JDK8之后推出了一个特性:lambda表达式
 * lambda表达式可以用更精简的语法创建匿名内部类。
 * 语法:
 * (参数列表)->{
 *     方法体
 * }
 * 需要注意:只有被实现的接口中含有一个抽象方法时，才可以使用lambda表达式创建。
 */
public class LambdaDemo1 {
    public static void main(String[] args) {
        File dir = new File("./src/main/java/file");
        FileFilter filter = new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().contains("F");
            }
        };
        FileFilter filter1 = (File pathname) -> {
            return pathname.getName().contains("F");

        };
        FileFilter filter2 = (pathname) -> {
            return pathname.getName().contains("F");

        };
        FileFilter filter3 = (pathname) ->  pathname.getName().contains("F");
        FileFilter filter4 = pathname ->  pathname.getName().contains("F");


        File[] subs1=dir.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().contains("F");
            }
        });
        File[] subs2 =dir.listFiles(p->p.getName().contains("F"));
    }
}
